#include"enseignant.h"

Enseignant::Enseignant(const std::string& noen, const std::string& nom, const std::string& prenom, const std::string& adressePostale, const std::string& adresseElectronique): Personne(nom, prenom, adressePostale, adresseElectronique), noen_(noen)
{
}

std::string Enseignant::getNoen() const
{
	return noen_;
}

bool Enseignant::operator <(const Enseignant& e) const
{
    return noen_ < e.noen_;
}

std::ostream& operator<<(std::ostream& os, const Enseignant& e)
{
	os << "Cette Enseignant " << (e.getNoen()) <<" se nomme :\n\t" << (e.getNom()) << " " << (e.getPrenom()) << "\n\tAdresse Postale : " << (e.getAdrPost()) << "\n\tAdresse Electronique : " << (e.getAdrEl());
	
	return os;
}

bool ComparatorEnseignant::operator ()(const Enseignant& e1, const Enseignant& e2)
{
    return e1<e2;
}

EnsembleEns::EnsembleEns()
{
}

void EnsembleEns::ajoutEnseignant(Enseignant *ens)
{
    listEnseignant_.insert(ens);
}

void EnsembleEns::ajoutEnsEnseignant(ensEnseignant eEns)
{
    ensEnseignant::iterator itEns;
    for (itEns = eEns.begin(); itEns!= eEns.end(); ++itEns)
    {
        listEnseignant_.insert((*itEns));
    }
}

ensEnseignant EnsembleEns::getEnsembleEns()
{
    return listEnseignant_;
}

void EnsembleEns::supprEnseignant(Enseignant *ens)
{
    listEnseignant_.erase(listEnseignant_.find(ens));
    delete ens;
}

